00 JavaScript学习地图
> Last Format Time:8/11/2026 21:45:35
这套笔记将“现代 JavaScript 教程与阮一峰 ES6”和“廖雪峰教程”按知识主题整合为一个目录。完整逐文件、逐标题清单见 [90 JavaScript知识点总目录](./90 JavaScript知识点总目录.md);本轮改动见 [91 JavaScript修正与补充记录](./91 JavaScript修正与补充记录.md)。
> [!important] 优先级说明 > - P0:当前前端开发的核心能力,需能解释、编码并排查问题。 > - P1:高频进阶能力,需理解原理并能在真实项目中正确选型。 > - P2:按需掌握,遇到库设计、复杂场景或文档工作时深入。
推荐学习顺序
- [01 JavaScript基础](./01 JavaScript基础.md) → [02 类型系统与类型转换](./02 类型系统与类型转换.md) → [03 Number与String](./03 Number与String.md) → [04 Array数组](./04 Array数组.md) → [05 Object对象](./05 Object对象.md)
- [07 函数、作用域与this](./07 函数、作用域与this.md) → [10 异步编程](./10 异步编程.md) → [14 模块化](./14 模块化.md) → [15 错误处理](./15 错误处理.md)
- [06 集合与迭代](./06 集合与迭代.md) → [08 原型、构造函数与类](./08 原型、构造函数与类.md) → [11 浏览器与DOM](./11 浏览器与DOM.md)
- [13 标准内建对象](./13 标准内建对象.md) → [12 二进制与文件](./12 二进制与文件.md) → [09 Generator与异步迭代](./09 Generator与异步迭代.md) → [16 JSDoc](./16 JSDoc.md)
主题索引
| 优先级 | 主题 | 当前前端开发的首要关注点 |
|---|---|---|
| P0 | [01 JavaScript基础](./01 JavaScript基础.md) | 默认使用 const,需要重新赋值时使用 let;避免在现代业务代码中新增 var。 |
| P0 | [02 类型系统与类型转换](./02 类型系统与类型转换.md) | 区分原始类型与对象类型,理解赋值、参数传递和比较时的值语义与引用语义。 |
| P0 | [03 Number与String](./03 Number与String.md) | 理解 IEEE 754 浮点误差;金额与高精度计算不要直接依赖普通浮点运算。 |
| P0 | [04 Array数组](./04 Array数组.md) | 熟练掌握 map、filter、reduce、find、some、every、flatMap 等声明式数组操作。 |
| P0 | [05 Object对象](./05 Object对象.md) | 掌握属性访问、枚举、描述符和 Object.keys/values/entries,明确自有属性与继承属性。 |
| P1 | [06 集合与迭代](./06 集合与迭代.md) | 数组等可迭代对象使用 for...of;普通对象键枚举使用 Object.keys 等 API,谨慎使用 for...in。 |
| P0 | [07 函数、作用域与this](./07 函数、作用域与this.md) | 理解词法作用域、闭包和调用位置如何决定 this,能解释常见回调与事件处理问题。 |
| P1 | [08 原型、构造函数与类](./08 原型、构造函数与类.md) | 理解实例、构造函数、prototype 与原型链的关系,能读懂第三方库和面试中的继承代码。 |
| P2 | [09 Generator与异步迭代](./09 Generator与异步迭代.md) | 理解 Generator 同时是状态机和迭代器,可用于惰性序列、可暂停流程与自定义迭代。 |
| P0 | [10 异步编程](./10 异步编程.md) | 必须掌握事件循环、调用栈、任务与微任务,能够解释 Promise 回调的执行顺序。 |
| P0 | [11 浏览器与DOM](./11 浏览器与DOM.md) | 掌握 DOM 查询、创建、更新、删除和事件委托;批量更新时关注重排、重绘与可访问性。 |
| P1 | [12 二进制与文件](./12 二进制与文件.md) | 区分 ArrayBuffer、TypedArray、DataView、Blob、File 和 Object URL 的职责。 |
| P1 | [13 标准内建对象](./13 标准内建对象.md) | 日期、正则和 JSON 都有明确边界:时区、正则灾难性回溯、不可序列化值需要特别留意。 |
| P0 | [14 模块化](./14 模块化.md) | 浏览器与现代前端构建默认优先 ESM,理解静态分析、tree shaking 和动态 import()。 |
| P0 | [15 错误处理](./15 错误处理.md) | 只捕获能够处理或补充上下文的错误;不要静默吞错,也不要把异常当普通分支滥用。 |
| P2 | [16 JSDoc](./16 JSDoc.md) | TypeScript 项目仍可用 JSDoc 描述公共 API、复杂约束、弃用信息和示例。 |
完整覆盖入口
> [!important] 本轮已对两套旧教程执行内容级复核 > - 72/72 份旧笔记已唯一映射。 > - 合并基线曾对 350 个标题、2,827 行有效正文、772 个代码块完成匹配;已知错误随后按 [91 JavaScript修正与补充记录](./91 JavaScript修正与补充记录.md) 直接修正或标注。 > - 从 [90 JavaScript知识点总目录](./90 JavaScript知识点总目录.md) 可逐项检查每份旧笔记及其全部标题。 > - 各主题按“关键要点 → 知识点导航 → 现代纠错 → 旧知识全集”阅读。
P0 掌握验收
- 能解释
const、let、作用域、闭包、this、原型链和类型转换的代码行为。 - 能独立实现可靠的异步请求流程,处理并发、错误、取消、超时与加载状态。
- 能在 React 或其他前端框架中保持状态不可变,避免陈旧闭包与副作用泄漏。
- 能使用 ESM 组织模块,识别循环依赖,并说明常见打包与动态加载行为。
- 能安全操作 DOM、表单和浏览器 API,理解 CORS、文件与序列化边界。